package Collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 对Ponit集合进行排列
 */
public class sortPoint {
    public static void main(String[] args) {
        List<Point> list =new ArrayList<>();
        list.add(new Point(5,8));//Point point =new Point(2,1);
        list.add(new Point(33,290));
        list.add(new Point(21,52));
        list.add(new Point(45,6));
        list.add(new Point(55,69));
        list.add(new Point(1,2));
        System.out.println("list的原始数据:"+list);//list的原始数据:[(5,8), (33,290), (21,52), (45,6), (55,69), (1,2)]
        Collections.sort(list, new Comparator<Point>() {
            @Override
            public int compare(Point o1, Point o2) {
                int len1 =o1.getX()* o1.getX()+o1.getY()* o1.getY();
                int len2 =o2.getX()*o2.getX()+ o2.getY()* o2.getY();
                //return len1-len2;//升序    前-后 升
                return  len2-len1;//降序     后-前 降
                //return o1.getX()- o2.getX();//升序 [(1,2), (5,8), (21,52), (33,290), (45,6), (55,69)]
            }
        });
        System.out.println("list排序后数据:"+list);//list排序后数据:[(33,290), (55,69), (21,52), (45,6), (5,8), (1,2)]


    }
}
